# -*- coding: utf-8 -*-
from django.db import models
import django.utils.timezone as timezone
from enum import unique

# Create your models here.
class Consumption(models.Model):
    
    #项目id 
    project_id = models.CharField(max_length=50)
    #项目名称
    project_name = models.CharField(max_length=50)
    #cpu使用
    cpu_use_count = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #memory使用
    memory_use_count = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #disk使用
    disk_use_count = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #cpu单价
    cpu_price = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #disk单价 
    disk_price = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #memory单价
    memory_price =  models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #cpu消费金额
    cpu_consume_money = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #memory消费金额
    memory_consume_money = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #cpu消费金额
    disk_consume_money = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #价格项id参照价格表id
    price_id = models.CharField(max_length=50)
    #价格项名称
    price_name = models.CharField(max_length=50)
    #单价
    price_unit_price = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #价格项单位
    price_unit = models.CharField(max_length=30)
    #消费金额
    consume_money =  models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #消费时长
    consume_time = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #余额
    remaining_money = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #记录形成时间
    record_time = models.DateTimeField(auto_now=False, auto_now_add=True)
    #上次记录时间
    lastrecord_time = models.DateTimeField(null=True)
    #备注
    extra = models.CharField(max_length=100,null=True)
        
    def __unicode__(self):
        return self
#charge record
class Charge(models.Model):
    #项目id
    project_id = models.CharField(max_length=64)
    #项目名称
    project_name = models.CharField(max_length=64)
    #用户名称
    username = models.CharField(max_length=50)
    #订单ID
    orderId = models.CharField(max_length=64,unique=True)
    #充值金额(单位为分)
    txnAmt = models.DecimalField(max_digits=20,decimal_places=2)
    #充值时间
    txnTime = models.DateTimeField(auto_now=False, auto_now_add=True)
    #充值状态,默认为未完成
    status = models.PositiveSmallIntegerField(default=0,choices=((0, u'未完成'),(1, u'完成'),))
    
    def __unicode__(self):
        return self
    
#price management
class Price(models.Model):
    #资源名称
    price_name = models.CharField(max_length=64)
    #计量单位
    unit = models.CharField(max_length=50)
    #单价
    unit_price = models.DecimalField(max_digits=8,decimal_places=2)
    #创建时间
    create_time = models.DateTimeField(auto_now=False, auto_now_add=True)
    #记录状态，默认是最新记录
    status = models.PositiveSmallIntegerField(default=0,choices=((0, u'最新记录'),(1, u'过往记录'),))
    
    def __unicode__(self):
        return self  
    
class RecordTime(models.Model):
    #记录名称
    record_name = models.CharField(max_length=50)
    #记录时间
    record_time = models.DateTimeField(default = timezone.now)

    modify_time = models.DateTimeField(null=True,auto_now=True)
    
class HourRecord(models.Model):
    
    #项目id 
    project_id = models.CharField(max_length=50)
    #cpu使用
    cpu_use = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #memory使用
    memory_use = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #disk使用
    disk_use = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #cpu单价
    cpu_price = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #disk单价 
    disk_price = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #memory单价
    memory_price =  models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #cpu单位
    cpu_unit= models.CharField(max_length=10)
    #disk单位
    disk_unit= models.CharField(max_length=10)
    #memory单位
    memory_unit=models.CharField(max_length=10)
     #cpu消费金额
    cpu_consume = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #memory消费金额
    memory_consume = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #cpu消费金额
    disk_consume = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    
    #记录形成时间
    record_time = models.DateTimeField(auto_now=False, auto_now_add=True)
        
    def __unicode__(self):
        return self
    
class DayRecord(models.Model):
    
    #项目id 
    project_id = models.CharField(max_length=50)
     #cpu使用
    cpu_use = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #memory使用
    memory_use = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #disk使用
    disk_use = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #cpu消费金额
    cpu_consume = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #memory消费金额
    memory_consume = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #cpu消费金额
    disk_consume = models.DecimalField(default=0.00,max_digits=18,decimal_places=2)
    #记录形成时间
    record_time = models.DateTimeField(auto_now=False, auto_now_add=True)
    